import Vue from "vue"
import Vuex from "vuex"
import state from "./state"
import actions from "./actions"
import mutations from "./mutations"

Vue.use(Vuex);

export default new Vuex.Store({
    state:state,
    // 可以不经过actions
    // actions:{
    //     changeCity (ctx,city) {
    //         ctx.commit('changeCi',city)
    //     }
    // },
    mutations:mutations,
    // getters 作用有点类似计算属性computed的作用
    getters:{
        doubleCity (state){
            return state.city + " "+ state.city
        }
    }
})



// // 未拆分之前
// import Vue from "vue"
// import Vuex from "vuex"

// Vue.use(Vuex);

// let defaultCity = '上海';
// // 避免某些用户浏览器,关闭本地存储 或 使用隐身模式
// try {
//     if(localStorage.city){
//         defaultCity = localStorage.city 
//     }
// } catch (error) {}

// export default new Vuex.Store({
//     state:{
//         // city:localStorage.city || '上海'
//         city:defaultCity
//     },
//     // 可以不经过actions
//     // actions:{
//     //     changeCity (ctx,city) {
//     //         ctx.commit('changeCi',city)
//     //     }
//     // },
//     mutations:{
//         changeCi(state , city){
//             state.city = city
//             try {
//                 localStorage.city = city
//             } catch (error) {}
            
//         }
//     }
// })